//---------------------------------------------------------------------------

#ifndef t_batlistformH
#define t_batlistformH
//---------------------------------------------------------------------------
#include <System.Classes.hpp>
#include <Vcl.Controls.hpp>
#include <Vcl.StdCtrls.hpp>
#include <Vcl.Forms.hpp>
#include <Vcl.Dialogs.hpp>
#include <Vcl.ExtCtrls.hpp>
#include <Vcl.Grids.hpp>
//---------------------------------------------------------------------------
class TBatListForm : public TForm
{
__published:	// IDE-managed Components
   TPanel *Panel1;
   TLabel *Label1;
   TLabel *Label2;
   TLabel *Label3;
   TLabel *Label4;
   TLabel *Label5;
   TEdit *EditText;
   TGroupBox *GroupBox1;
   TCheckBox *CheckBoxAll;
   TCheckBox *CheckBoxWaiting;
   TCheckBox *CheckBoxRunning;
   TCheckBox *CheckBoxPaused;
   TCheckBox *CheckBoxFail;
   TCheckBox *CheckBoxSuccess;
   TCheckBox *CheckBoxUnknown;
   TEdit *EditStartTime1;
   TEdit *EditStartTime2;
   TEdit *EditEndTime1;
   TEdit *EditEndTime2;
   TEdit *EditElapsedTime;
   TButton *ButtonFilter;
   TButton *ButtonRefresh;
   TButton *ButtonSave;
   TEdit *EditBatchDate;
   TPanel *Panel2;
   TPanel *Panel3;
   TButton *ButtonProperty;
   TButton *ButtonGotoThisGroup;
   TStringGrid *StringGrid1;
   TSaveDialog *SaveDialog1;
   void __fastcall CheckBoxAllClick(TObject *Sender);
   void __fastcall ButtonFilterClick(TObject *Sender);
   void __fastcall ButtonRefreshClick(TObject *Sender);
   void __fastcall ButtonSaveClick(TObject *Sender);
   void __fastcall StringGrid1SelectCell(TObject *Sender, int ACol, int ARow, bool &CanSelect);
   void __fastcall ButtonPropertyClick(TObject *Sender);
   void __fastcall ButtonGotoThisGroupClick(TObject *Sender);

private:	// User declarations
   void __fastcall Filter(map<int, HBatListInfo> &NewBatList);
   void __fastcall UpdateButtons(int Row);
   map<int, HBatListInfo> BatMap;
   map<int, HBatListInfo> BatList;
public:		// User declarations
   __fastcall TBatListForm(TComponent* Owner);
   void __fastcall Clear();
   void __fastcall Reload();
   void __fastcall AssignRows();
   void __fastcall AssignOneRow(int RowIdx, const HBatListInfo &Info);
};
//---------------------------------------------------------------------------
extern PACKAGE TBatListForm *BatListForm;
//---------------------------------------------------------------------------
#endif
